<?php	
	/**
	 * Klass LOGIN ACTION HANDLER - Hanterar valideringen om användarnamnet redan är upptaget.
	 * "Pratar" med databasen och hämtar ut/sätter in information där ifrån och ger tillbaka den informationen till controllern eller view. 
	 */	 
	class LoginActionHandler {
		
		private $database = null;

		//----- FUNKTION: CONSTRUCT ----------------------------------------------------------------------------------------
		/**
		* Konstruktor funktion som lägger till en databas i vår privata variabel $database.
		* @param Database $database Databasen.
		*/
		public function __construct(Database $database)
		{
			$this->database = $database;
		}


		//----- FUNKTION: OCCUPIED USER NAME ----------------------------------------------------------------------------------------
		/**
		* Funktion för att kontrollera om användarnamnet som försöker registreras är upptaget.
		* @param string $username Innehåller det användarnamnet som försöker registreras.
		* @return bool Retunerar true om användarnamnet är upptaget, annars false.
		*/
		public function OccupiedUsername($username)
		{
			$query = "SELECT userName FROM user WHERE userName = ?";
			if ($statement = $this->database->PrepareQuery($query)) {

				$statement->bind_param("s", $username);
				$statement = $this->database->Select($statement);

				$statement->bind_result($database_userName);
				$statement->fetch();
				
				// Om vi har fler än 0 rader så är användarnamnet upptaget.
				if ($statement->num_rows > 0) {
					return true;					

				} else{
					return false;
				}				
			}
			return false;
		}
	}
?>